Skip to content

Implement basic CI version capper #5346

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 23 commits into
base: master
Choose a base branch
from
Draft

Conversation

bouwkast
Copy link
Contributor

@bouwkast bouwkast commented Feb 28, 2025

What does this PR do?

This adds a weekly automated bump to cap versions of third party libraries test in CI.

Motivation

CI pulls in the latest 3rd party library automatically when run and this causes CI to fail when a breaking change is made to those libraries (or a change is made that causes tests to fail).

Instead of running into this on each PR, we'd instead like to cap the versions tested and update them in an automated batch PR.

Plugin Checklist

Additional Notes

The output of this is that every week .github/workflows/auto-bump-test-package-versions.yml is run and updates the latests.json.

If there are differences in this json file an automated pull request will be created to update the libraries to that later version.

An example output of running the update script locally:

node scripts/outdated.js
Starting fix operation...
Found 110 packages to process
Processing package 1/110: aerospike... found version 6.2.0
Processing package 2/110: amqp10... found version 3.6.0
Processing package 3/110: amqplib... found version 0.10.8
Processing package 4/110: apollo-server-core... found version 3.13.0
Processing package 5/110: @apollo/server... found version 4.12.2
Processing package 6/110: @apollo/gateway... found version 2.11.2
Processing package 7/110: avsc... found version 5.7.9
Processing package 8/110: @smithy/smithy-client... found version 4.4.7
Processing package 9/110: @aws-sdk/smithy-client... found version 3.374.0
Processing package 10/110: aws-sdk... found version 2.1692.0
Processing package 11/110: @azure/functions... found version 4.7.3 (higher than 'latest' tag 4.7.2) found version 4.7.3
Processing package 12/110: @azure/service-bus... found version 7.9.5
Processing package 13/110: bluebird... found version 3.7.2
Processing package 14/110: body-parser... found version 2.2.0
Processing package 15/110: bunyan... found version 2.0.5 (higher than 'latest' tag 1.8.15) found version 2.0.5
Processing package 16/110: cassandra-driver... found version 4.8.0
Processing package 17/110: @confluentinc/kafka-javascript... found version 1.4.0
Processing package 18/110: connect... found version 3.7.0
Processing package 19/110: cookie-parser... found version 1.4.7
Processing package 20/110: cookie... found version 1.0.2
Processing package 21/110: couchbase... found version 4.5.0
Processing package 22/110: @cucumber/cucumber... found version 12.0.0
Processing package 23/110: cypress... found version 14.5.2
Processing package 24/110: dd-trace-api... IGNORED
Processing package 25/110: @elastic/transport... found version 9.1.0
Processing package 26/110: @elastic/elasticsearch... found version 9.0.3
Processing package 27/110: elasticsearch... found version 16.7.3
Processing package 28/110: express-mongo-sanitize... found version 2.2.0
Processing package 29/110: express-session... found version 1.18.1
Processing package 30/110: express... found version 5.1.0
Processing package 31/110: fastify... found version 5.4.0
Processing package 32/110: find-my-way... found version 9.3.0
Processing package 33/110: fs... found version 0.0.2 (higher than 'latest' tag 0.0.1-security) found version 0.0.2
Processing package 34/110: generic-pool... found version 3.9.0
Processing package 35/110: @google-cloud/pubsub... found version 5.1.0
Processing package 36/110: @google-cloud/vertexai... found version 1.10.0
Processing package 37/110: @graphql-tools/executor... found version 1.4.8
Processing package 38/110: graphql... found version 16.11.0
Processing package 39/110: @grpc/grpc-js... found version 1.13.4
Processing package 40/110: handlebars... found version 4.7.8
Processing package 41/110: @hapi/hapi... found version 21.4.0
Processing package 42/110: hapi... found version 18.1.0
Processing package 43/110: hono... found version 4.8.5
Processing package 44/110: ioredis... found version 5.6.1
Processing package 45/110: iovalkey... found version 0.3.3
Processing package 46/110: jest-environment-node... found version 30.0.4
Processing package 47/110: jest-environment-jsdom... found version 30.0.4
Processing package 48/110: @jest/core... found version 30.0.4
Processing package 49/110: @jest/test-sequencer... found version 30.0.4
Processing package 50/110: @jest/reporters... found version 30.0.4
Processing package 51/110: jest-circus... found version 30.0.4
Processing package 52/110: @jest/transform... found version 30.0.4
Processing package 53/110: jest-config... found version 30.0.4
Processing package 54/110: jest-runtime... found version 30.0.4
Processing package 55/110: jest-worker... found version 30.0.2
Processing package 56/110: kafkajs... found version 2.2.4
Processing package 57/110: knex... found version 3.1.0
Processing package 58/110: koa... found version 3.0.0
Processing package 59/110: @koa/router... found version 13.1.1
Processing package 60/110: koa-router... found version 13.1.1
Processing package 61/110: @langchain/core... found version 0.3.64
Processing package 62/110: ldapjs... found version 3.0.7
Processing package 63/110: limitd-client... found version 2.14.1
Processing package 64/110: lodash... found version 4.17.21
Processing package 65/110: mariadb... found version 3.4.4
Processing package 66/110: memcached... found version 2.2.2
Processing package 67/110: microgateway-core... found version 3.3.7
Processing package 68/110: moleculer... found version 0.14.35
Processing package 69/110: mongodb-core... found version 3.2.7
Processing package 70/110: mongodb... found version 6.17.0
Processing package 71/110: mongoose... found version 8.16.4
Processing package 72/110: mquery... found version 5.0.0
Processing package 73/110: multer... found version 2.0.1
Processing package 74/110: mysql... found version 2.18.1
Processing package 75/110: mysql2... found version 3.14.2
Processing package 76/110: next... found version 15.4.1
Processing package 77/110: node-serialize... found version 0.0.4
Processing package 78/110: nyc... found version 17.1.0
Processing package 79/110: openai... found version 5.10.1
Processing package 80/110: @opensearch-project/opensearch... found version 3.5.1
Processing package 81/110: oracledb... found version 6.8.0
Processing package 82/110: passport-http... found version 0.3.0
Processing package 83/110: passport-local... found version 1.0.0
Processing package 84/110: passport... found version 0.7.0
Processing package 85/110: pg... found version 8.16.3
Processing package 86/110: pino... found version 9.7.0
Processing package 87/110: pino-pretty... found version 13.0.0
Processing package 88/110: playwright... found version 1.54.1
Processing package 89/110: playwright-core... found version 1.54.1
Processing package 90/110: @prisma/client... found version 6.12.0
Processing package 91/110: promise-js... found version 0.0.7
Processing package 92/110: promise... found version 8.3.0
Processing package 93/110: protobufjs... found version 7.5.3
Processing package 94/110: pug... found version 3.0.3
Processing package 95/110: q... found version 2.0.3 (higher than 'latest' tag 1.5.1) found version 2.0.3
Processing package 96/110: @node-redis/client... found version 1.0.6
Processing package 97/110: @redis/client... found version 5.6.0
Processing package 98/110: redis... found version 5.6.0
Processing package 99/110: restify... found version 11.1.0
Processing package 100/110: rhea... found version 3.0.4
Processing package 101/110: router... found version 2.2.0
Processing package 102/110: selenium-webdriver... found version 4.34.0
Processing package 103/110: sequelize... found version 6.37.7
Processing package 104/110: sharedb... found version 5.2.2
Processing package 105/110: tedious... found version 19.0.0 (higher than 'latest' tag 18.6.1) found version 19.0.0
Processing package 106/110: undici... found version 7.11.0
Processing package 107/110: vitest... found version 3.2.4
Processing package 108/110: @vitest/runner... found version 3.2.4
Processing package 109/110: when... found version 3.7.8
Processing package 110/110: winston... found version 3.17.0

Writing updated versions to latests.json...
Successfully updated latests.json
Processed 110 packages

Copy link

github-actions bot commented Feb 28, 2025

Overall package size

Self size: 11.16 MB
Deduped: 110.74 MB
No deduping: 111.12 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.7.0 | 35.02 MB | 35.02 MB | | @datadog/native-appsec | 10.0.1 | 20.3 MB | 20.3 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 MB | | @datadog/pprof | 5.9.0 | 9.77 MB | 10.14 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.5.3 | 2.95 MB | 5.6 MB | | @datadog/wasm-js-rewriter | 4.0.1 | 2.85 MB | 3.58 MB | | @datadog/native-metrics | 3.1.1 | 1.02 MB | 1.43 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | jsonpath-plus | 10.3.0 | 617.18 kB | 1.08 MB | | import-in-the-middle | 1.14.2 | 122.36 kB | 850.93 kB | | lru-cache | 10.4.3 | 804.3 kB | 804.3 kB | | source-map | 0.7.4 | 226 kB | 226 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | pprof-format | 2.1.0 | 111.69 kB | 111.69 kB | | @datadog/sketches-js | 2.1.1 | 109.9 kB | 109.9 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 7.0.5 | 63.38 kB | 63.38 kB | | istanbul-lib-coverage | 3.2.2 | 34.37 kB | 34.37 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | dc-polyfill | 0.1.10 | 26.73 kB | 26.73 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | shell-quote | 1.8.3 | 23.74 kB | 23.74 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | semifies | 1.0.0 | 15.84 kB | 15.84 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | ttl-set | 1.0.0 | 4.61 kB | 9.69 kB | | mutexify | 1.4.0 | 5.71 kB | 8.74 kB | | path-to-regexp | 0.1.12 | 6.6 kB | 6.6 kB | | koalas | 1.0.2 | 6.47 kB | 6.47 kB | | module-details-from-path | 1.0.4 | 3.96 kB | 3.96 kB |

🤖 This report was automatically generated by heaviest-objects-in-the-universe

Copy link

codecov bot commented Feb 28, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 82.81%. Comparing base (16e5800) to head (6bd8ec4).
Report is 5 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #5346   +/-   ##
=======================================
  Coverage   82.81%   82.81%           
=======================================
  Files         476      476           
  Lines       19664    19664           
=======================================
  Hits        16284    16284           
  Misses       3380     3380           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Feb 28, 2025

Datadog Report

Branch report: steven/version-range-cap
Commit report: 290ff99
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 926 Passed, 0 Skipped, 12m 48.12s Total Time

@pr-commenter
Copy link

pr-commenter bot commented Mar 5, 2025

Benchmarks

Benchmark execution time: 2025-07-23 17:59:24

Comparing candidate commit 6bd8ec4 in PR branch steven/version-range-cap with baseline commit 16e5800 in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 1273 metrics, 50 unstable metrics.

@bouwkast bouwkast force-pushed the steven/version-range-cap branch from 4948b7e to 4b548d6 Compare April 4, 2025 15:25
@bouwkast bouwkast force-pushed the steven/version-range-cap branch from 610b0f2 to 660a84b Compare April 23, 2025 15:44
@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Jul 23, 2025

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 6bd8ec4 | Was this helpful? Give us feedback!

@bouwkast bouwkast changed the title [WIP] Implement basic CI version capper Implement basic CI version capper Jul 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants